﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using HousingInfo.Library;

namespace WebHousingInfo.Admin
{
    public partial class Project : System.Web.UI.Page
    {
        private static ProjectBO projectBO;
        private static string modeapprove = null;
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                modeapprove = Request.QueryString["mode"];
                string mode = Request.QueryString["type"];
                if (mode == "update")
                {
                    pn_result.Visible = true;
                    lblthongbao.Text = "Cập nhật thành công.";
                }
                else if (mode == "approve")
                {
                    pn_result.Visible = true;
                    lblthongbao.Text = "Duyệt thành công. Dự án đã được đăng.";
                }
                else if (mode == "delete")
                {
                    pn_result.Visible = true;
                    lblthongbao.Text = "Xóa dự án thành công.";
                }
                else if (mode == "end")
                {
                    pn_result.Visible = true;
                    lblthongbao.Text = "Kết thúc đăng dự án thành công.";
                }
                else if (mode == "insert")
                {
                    pn_result.Visible = true;
                    lblthongbao.Text = "Thêm thành công.";
                }

                //Mode Add                
                if (modeapprove == "approve")
                {
                    lblxem_duyet.Text = "Duyệt dự án mới đăng";
                    pn_view.Visible = false;
                    pn_approve.Visible = true;
                    BindGrid();                    
                }
                else
                {
                    BindGrid();
                }
            }
        }

        protected void btndangtin_Click(object sender, EventArgs e)
        {
            Response.Redirect("Add_Edit_ProjectNews.aspx");
        }

        protected void btnxoatin_Click(object sender, EventArgs e)
        {
            bool test = false;
            foreach (GridViewRow gvRow in GridView1.Rows)
            {
                CheckBox chkSel = (CheckBox)gvRow.FindControl("chkSelect");
                if (chkSel.Checked == true)
                {
                    try
                    {
                        test = true;
                        int idproject = Convert.ToInt32(gvRow.Cells[2].Text);
                        ProjectBO.DeleteProjectBO(idproject);
                    }
                    catch
                    {
                        pn_result.Visible = true;
                        lblthongbao.Text = "Xóa thất bại.";
                        BindGrid();
                        return;
                    }
                }
            }
            if (test == false)
            {
                ScriptManager.RegisterStartupScript(Page, Page.GetType(), "Success", "alert('Chưa chọn thông tin cần xóa !!!')", true);
                return;
            }
            else
            {
                pn_result.Visible = true;
                lblthongbao.Text = "Xóa thành công !";
                BindGrid();
            }
        }

        protected void btnapprove_Click(object sender, EventArgs e)
        {
            bool test = false;
            foreach (GridViewRow gvRow in GridView1.Rows)
            {
                CheckBox chkSel = (CheckBox)gvRow.FindControl("chkSelect");
                if (chkSel.Checked == true)
                {
                    try
                    {
                        test = true;
                        int idproject = Convert.ToInt32(gvRow.Cells[2].Text);
                        projectBO = ProjectBO.GetProjectBO(idproject);
                        projectBO.IsActive = true;
                        projectBO.Save();
                    }
                    catch
                    {
                        pn_result.Visible = true;
                        lblthongbao.Text = "Duyệt dự án thất bại.";
                        BindGrid();
                        return;
                    }
                }
            }
            if (test == false)
            {
                ScriptManager.RegisterStartupScript(Page, Page.GetType(), "Success", "alert('Chưa chọn tin cần duyệt !!!')", true);
                return;
            }
            else
            {
                pn_result.Visible = true;
                lblthongbao.Text = "Duyệt thành công. Dự án đã được đăng.";
                BindGrid();
            }     
        }

        protected void btnapproveall_Click(object sender, EventArgs e)
        {
            foreach (GridViewRow gvRow in GridView1.Rows)
            {
                try
                {
                    int idproject = Convert.ToInt32(gvRow.Cells[2].Text);
                    projectBO = ProjectBO.GetProjectBO(idproject);
                    projectBO.IsActive = true;
                    projectBO.Save();
                    BindGrid();
                    pn_result.Visible = true;
                    lblthongbao.Text = "Đã duyệt dự án(Dự án đã được phép đăng).";
                }
                catch
                {
                    pn_result.Visible = true;
                    lblthongbao.Text = "Duyệt dự án thất bại.";
                }
            } 
        }

        protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            GridView1.PageIndex = e.NewPageIndex;
            this.BindGrid();
        }

        public void BindGrid()
        {
            if (modeapprove == "approve")
            {
                GridView1.DataSource = ProjectBOList.Tatca_chuaduyet(false);
                GridView1.DataBind();
            }
            else
            {
                GridView1.DataSource = ProjectBOList.Tatca_chuaduyet(true);
                GridView1.DataBind();
            }
        }

        protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "Xem")
            {
                GridViewRow selectrow = (GridViewRow)(((LinkButton)e.CommandSource).NamingContainer);
                //string Title = ((LinkButton)(((Control)e.CommandSource).Parent.Parent).FindControl("name")).Text;
                Response.Redirect("../TinNhaDatChiTiet.aspx?id=" + selectrow.Cells[2].Text);
            }
        }

        protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
        {
            int id = Convert.ToInt32(GridView1.SelectedRow.Cells[2].Text);
            if (modeapprove == "approve")
                Response.Redirect("Add_Edit_ProjectNews.aspx?mode=" + GridView1.SelectedRow.Cells[2].Text + "&type=approve");
            else
            {
                Response.Redirect("Add_Edit_ProjectNews.aspx?mode=" + GridView1.SelectedRow.Cells[2].Text);
            }
        }

        protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            try
            {
                if (e.Row.RowType == DataControlRowType.DataRow)
                {
                    string strScript = "SelectDeSelectHeader(" + ((CheckBox)e.Row.Cells[0].FindControl("chkSelect")).ClientID + ");";
                    ((CheckBox)e.Row.Cells[0].FindControl("chkSelect")).Attributes.Add("onclick", strScript);
                }
            }
            catch
            {
                //report error
            }   
        }
    }
}
